Assertion (phát triển phần mềm)

Trong lập trình máy tính, đặc biệt là khi sử dụng mô phạm lập trình mệnh lệnh, assertion (có thể dịch là xác quyết) là một vị ngữ (tức hàm có giá trị Boolean lên không gian trạng thái, thường được biểu diễn dưới dạng mệnh đề logic bằng cách sử dụng biến số của chương trình) được kết nối với một điểm trong chương trình, mà luôn luôn phải tính giá trị[lower-alpha 1] ra true tại điểm đó trong quá trình thực thi mã. Assertion có thể giúp đỡ lập trình viên trong việc đọc code, giúp trình biên dịch trong việc biên dịch code, hoặc giúp cho chương trình trong việc phát hiện ra các khiếm khuyết của chính nó trong run-time. Assertion có thể hiểu nôm na là "nhất quyết phải chính xác", hay "xác quyết".Đối với việc phát hiện khiếm khuyết trong run-time, một số chương trình kiểm tra assertion bằng cách thực sự tính giá trị vị ngữ khi chúng chạy luôn. Sau đó, nếu vị ngữ đấy thực ra không phải là true – tức assertion bất thành[lower-alpha 2] – thì chương trình sẽ coi bản thân là bị hỏng và thường sẽ chủ động crash hoặc ném ra ngoại lệ assertion bất thành.

Tài liệu tham khảo

WikiPedia: Assertion (phát triển phần mềm) http://www.jaggersoft.com/pubs/CVu11_3.html http://docs.oracle.com/javase/8/docs/technotes/gui... http://docs.oracle.com/javase/8/docs/technotes/gui... http://sunnyday.mit.edu/16.355/Hoare-CACM-69.pdf http://queue.acm.org/detail.cfm?id=2220317 http://dlang.org/version.html#StaticAssert http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arn... http://discovery.ucl.ac.uk/4991/1/4991.pdf https://library.ias.edu/files/pdfs/ecp/planningcod... https://web.archive.org/web/2021*/http://lambda-th...